﻿using Mt.Site.Core.WorkFlows.Design.DiyForm;
using Mt.Site.Core.WorkFlows.Enum;
using System;
using System.Collections.Generic;

namespace Mt.Site.Core.WorkFlows.Design.Cache
{
    public interface IWorkFlowCacheItem
    {
        Guid WorkFlowId { get; }

        bool IsActive { get; }

        int Order { get; }

        string Name { get; }

        string ShortName { get; }

        Guid FormId { get;}

        Guid CategeoryId { get; }
        bool IsHaveAttachment { get; }
        bool IsHaveOnlineWord { get; }
        EntrustType EntrustType { get; }

        string Description { get;  }
        int DigitNumber { get;  }

        int NumberCounting { get;}
        string NumberFormat { get; }

        bool ShouldLogWhenDrawback { get;}

        FormConfigItem[] FormConfig { get;  }

        string FormHtml { get;  }

        Dictionary<string, FormConfigItem[]> FormListCtrlConfig { get; }

        WorkFlowNodeCacheItem[] NodeList { get;}

        long[] UnitIdList { get;  }

        string OptionFunction { get; }

        WorkflowCustomData CustomData { get; }
    }
}